An attached Microfiche Appendix forms part of this application, and provides machine language code for an IBM Compatible program which can execute a method of the present invention. Copyright is claimed in the program of the attached Appendix. The copyright owner grants permission to make facsimile copies of the attached Appendix as it appears in the files or records of the Patent Office, but all other rights are reserved.
This invention relates to computers and in particular to the installation of a computer operating system on a storage medium of the computer.
A typical current computer system is provided with one or more data storage media each of which may be used to store data such as program files and information files including information regarding the storage medium itself, as well as other information on the computer system. Typically, such storage media are optical or magnetic and can include media such as CD-ROM disks. The present invention is concerned with writeable media, such as magnetic disks and writeable optical disks such as digital video and digital versatile disks sometimes referenced as xe2x80x9cDVDxe2x80x9d. In the case of magnetic disks, these typically may either be of a type which is removable and insertable into a drive by hand such as a xe2x80x9cfloppyxe2x80x9d disk or a so-called xe2x80x9cfixed drivexe2x80x9d or a hard drive.
The computer writes and retrieves data from a storage media, and performs other computer operations, in accordance with an operating system (xe2x80x9cOSxe2x80x9d). Common operating systems on an IBM PC compatible computer include DOS, WINDOWS 3.1, WINDOWS 95, WINDOWS NT, IBM OS/2, WINDOWS 98, or Solaris. (WINDOWS is a trademark of Microsoft Corp.; IBM and OS/2 are trademarks of IBM Corporation; SUN and Solaris are trademarks of Sun Microsystems, Inc. Other known PC compatible operating systems include Coherent, FreeBSD, Interactive Unix, Linux, LynxOS, Minux, NetBSD, NextStep, OpenStep, SCO Unix, UnixWare, XENIX, NetWare, CTOS, Pick, QNX, THEOS, and CP/M. Different operating systems may use different conventions for accessing a data storage medium and may have different limitations in the size of storage space which they can handle. Because of this, the different operating systems may not be compatible. This can be better understood by reference to FIG. 1 as discussed below.
FIG. 1 illustrates a typical conventional magnetic disk which can be either a removable or fixed drive disk. The disk 10 is rotated in a drive by a spindle 30 and data is read from or written onto a first side 12 by means of a read/write head assembly 32 carried on an arm 34. The head assembly 32 is positioned by a motor assembly 36 under the control of a disk controller controlled by commands from the computer processor. Data can also be read from or written onto a second side 14 by means of another read/write head assembly (not shown). Furthermore, in a typical hard drive there will be many such disks 10 with a read/write head positioned on each side, all under control of the same motor assembly 36. However, for simplicity only one side of one disk is shown in FIG. 1. While often a single disk is referenced below in connection with a data storage device, it will be understood that there could in fact be multiple disks.
Each side is typically divided into a series of concentric rings 19 referenced as a cylinder 18 extending down through the disks. The set of rings on all sides of all disks lying on the same imaginary cylinder extending down through the disks have the same cylinder identification.
Each cylinder 18 is further logically divided by a computer operating system into sectors, such as sectors 20, 22 which can be numbered with respect to some reference mark on the disk 10. Each sector of a disk has a unique identification, such as a cylinder number, disk side and sector number. Alternatively, a single sector number can uniquely identify a particular sector in a system where sectors are numbered in a serpentine manner, beginning with the outermost cylinder on an upper side and continuing through the sectors on the same cylinder to the lower disk side. This configuration is continued on the same cylinder of the next disk and repeated for the next inward cylinder and so on until all sectors have been numbered.
Typical computer operating systems designate the space on the disk in a strategy referred to as a partition with the details of the partitioning being recorded on a disk in the form of a xe2x80x9cpartition tablexe2x80x9d. However, because different operating systems may use different partitioning strategies, a disk partition for one operating system may not be compatible with that of another operating system. A common partition strategy and associated partition table is the IBM compatible partition. This partitioning is found on fixed, removable magnetic and optical disks used in IBM compatible computers and is used, for example, by Microsoft DOS, or WINDOWS versions. IBM compatible partitioning may be used with a variety of disk sector addressing schemes.
Computer system users often wish to add a new operating system to their hard drive or other media which may already carry one or more other operating systems on different partitions. xe2x80x9cNewxe2x80x9d in this context, is meant an operating system not already existing on the storage media, or a copy of an operating system which does already exist on the storage media. However, as is apparent from the above, different operating systems will typically require their own partitions. In the typical case where a user has only one operating system and a corresponding single partition, the user can simply reformat and re-partition the storage medium using the new operating system, and install the new operating system on the storage medium. However, this means all existing data on the storage medium will be lost. To retain existing data, a user can copy all files to a backup storage medium such as multiple floppy disks and then re-install the data. However, this will only work where the new operating system is compatible with the previous file structure.
Furthermore, a user may want to have two or more different operating systems present on the storage medium at the same time, such as when a new operating system is to be installed but the user does not want to abandon an existing operating system until he is sure the new operating system will function efficiently with all existing programs. This will require the user to determine from a user manual of the operating system to be installed, the requirements of that operating system, the existing partition and data structure on the storage medium, and then determine an appropriate way to modify the existing partition and data structure so that the new operating system can be accommodated in its own partition. On a disk containing a number of operating systems and partitions, and having a limited amount of total available space, it can be difficult to arrive at a single way of modifying the existing partition and data structure, to accomplish the objective of adding or deleting a partition. It is far more difficult to optimize the addition or deletion of a partition in terms of minimizing the number of steps required or optimizing the use of disk space.
Additionally, a user may want to install an upgrade version of an existing operating system. Upgrade versions typically look for files belonging to an existing version, for example a WINDOWS 95 upgrade version may look for files belonging to an existing WINDOWS 3.1 version and replace or overwrite these files. This means that the existing operating system is destroyed and a user has no chance to test the new operating system with his existing software without reformatting a drive and re-installing the previously existing operating system and possibly other programs. Furthermore, most users when installing such upgrade versions have no idea that such a procedure may be required since the upgrade versions do not provide warnings of this situation.
Thusly, it would be desirable to provide a method and system by which a new operating system is readily installed on a storage medium having one or more partitions optionally carrying one or more respective operating systems is additionally based upon an existing operating system desirable to provide a method and system which allows a user to readily switch between an upgrade version of an existing operating system and the former version upon installation of the upgrade prior version of the operating system if so desired.
The present invention provides apparatus for and a method of installing a computer operating system on a data storage medium of a computer system which computer system also includes a processor. The method comprises steps of:
(a) selecting an operating system for installation on the computer system;
(b) reading the data storage medium for a set of data storage medium characteristics including the partition boundaries of each existing partition on the data storage medium;
(c) receiving an identification of the operating system to be installed on the data storage medium;
(d) retrieving the installation characteristic set of the identified operating system from an operating system rule database of the computer system which rule database may, for example, contain a set of installation characteristics for each of a plurality of identified operating systems including a space required by each operating system on the data storage medium;
(e) comparing the read data storage medium characteristic set with the retrieved operating system installation characteristic set and, when the two sets differ by one or more characteristics, modifying at least one of the storage medium characteristics so that the selected operating system can be installed on the data storage medium, the modifying including one or more of moving and resizing an existing storage medium partition, and establishing a new storage medium partition; and
(f) installing the operating system on the data storage medium.
The present invention can be used simply for preparing a data storage medium for installation of an operating system using the steps described above other than step (f). However, normally the operating system will actually be installed following the preparation. Furthermore, the present method contemplates that following the comparison step, no modifications may be required, in which case this fact can be indicated to a user, following which the new operating system can be installed.
The received identification or corresponding installation characteristic set for the operating system to be installed, may indicate that the operating system to be installed is an update version of an existing operating system on an existing partition. Such an update version may require one or more files from the existing operating system. In this case, the step of modifying the storage medium characteristics comprises creating a new partition and copying the required files to the new partition prior to installing the operating system in the new partition.
The present invention further provides a computer system having a data storage medium, a processor, and an operating system installation rule database on a storage medium. The rule database contains a set of installation characteristics for each of a plurality of identified operating systems including a space required by each operating system on the data storage medium. Such a computer system optionally also includes a display and a user interface. The computer system is controlled or programmed so as to execute any of the methods of the present invention.
In another aspect of the present invention, there is provided a computer readable storage medium such as a magnetic and optical disks and tape storing computer readable program code for controlling the computer system processor to prepare a storage medium of a computer system to receive an operating system to be installed. The program code, when executed by the computer, controls the computer apparatus such as the computer processor to perform the steps of any of the methods of the present invention. While the computer processor can be controlled by the computer readable storage medium to install the operating system the installation may be typically performed by installation software which normally accompanies the operating system to be installed.
It is thus an advantage of present invention to provide a method and system by which a new operating system can be readily installed on a computer system storage medium which may have one or more partitions optionally carrying one or more respective operating systems.
Additionally, it is an additional advantage of the present invention to provide a method and system for allowing the user to readily switch between different operating systems including different versions of the same operating system installed on the same computer memory media.